This invention relates generally to machine vision and, more particularly, to programming digital data processing systems for machine vision analysis of images.
Prior art machine vision systems may be classified as either special-purpose systems or development systems. Special-purpose systems perform specific machine vision analyses, such as, verifying the contents of a label on a package. They are typically deployed on-site, e.g., at the factory floor, for use by shop personnel during the manufacturing process.
Development machine vision systems, on the other hand, typically comprise a collection of software "tools" that can be arranged to perform many machine vision functions. These systems may include, for example, software subroutines for identifying the center of mass of an object or for detecting the edge of an object. Development systems are typically used by vision system manufacturers (e.g., OEM's and VAR's) to develop special-purpose machine vision systems for use by their customers.
A drawback of the special-purpose systems is their relative inflexibility. While they typically permit an operator to specify limited information about an object to be inspected, they cannot be adapted to provide new vision functions. Thus, prior to a production run, an operator may input into a special-purpose label verification system the content of labels to be inspected. However, the operator could not readily modify such a system, for example, to verify that a one-time promotional coupon was affixed to the label.
Notwithstanding their added flexibility, a drawback of traditional development systems is that they are difficult to use. The software tools employed by the development system must be selected and incorporated into a computer program in order to perform useful vision analyses. This typically requires solid computer programming skills and a thorough knowledge of the vision analysis to be performed, as well as familiarity with the computer hardware and operating system on which that analysis will be run.
In view of the foregoing, an object of the invention is to provide improved methods and apparatus for machine vision and, more particularly, for programming digital data processing systems for machine vision analysis of images.
Another object of the invention is to provide a system for machine vision analysis with greater flexibility than conventional special-purpose machine visions systems.
Still another object is to provide methods and apparatus for machine vision analysis that are capable of handling a wide variety of machine vision tasks and, yet, do not require an in-depth knowledge of computer programming, nor of computer hardware and operating systems.
Other general and more specific objects of this invention will in part be obvious and evident from the description and drawings which follow.